package com.it.controller;

import com.it.pojo.SysRole;
import com.it.service.SysRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

/**
 * @Controller
 *   作用1： 将当前对象的创建交给spring管理
 *   作用2：作为控制层代码的标识
 */
@Controller
public class SysRoleController {

	@Autowired	//自动注入(由spring创建当前对象并为属性赋值)
	private SysRoleService sysRoleService;
	
	/** 1.查询所有角色信息 */
	@RequestMapping("/sysRoleList")
	public String sysRoleList(Model model){
		//调用service层的findAll方法，查询所有的角色信息
		List<SysRole> list = sysRoleService.findAll();
		
		//将所有角色信息的list集合存入model中，带到JSP显示
		model.addAttribute("list", list);
		
		return "sys/role/list";
	}

	/**
	 * 2.根据id删除角色信息
	 */
	@RequestMapping("/sysRoleDelete")
	public String sysRoleDelete(String id){
		//调用deleteById方法, 根据id删除角色
		sysRoleService.deleteById(id);
		
		return "redirect:/sysRoleList";
	}
	
	/** 3.添加角色信息 */
	@RequestMapping("/sysRoleAdd")
	public String sysRoleAdd(SysRole sysRole){
		//System.out.println(sysRole);
		//1.调用SysRoleService层的addSysRole方法, 添加角色信息
		sysRoleService.addSysRole(sysRole);
		
		return "redirect:/sysRoleList";
	}
	
	/** 4.根据id修改角色信息
	 *  4.1.先根据id查询当前角色的信息 */
	@RequestMapping("/sysRoleInfo")
	public String sysRoleInfo(String id, Model model){
		//1.根据id查询角色信息
		SysRole sysRole = sysRoleService.findById(id);
		System.out.println(sysRole);
		
		//2.将角色信息存入model中(存入request域中)
		model.addAttribute("role", sysRole);
		//3.转向sysRole_update.jsp
		return "sys/role/update";
	}
	
	/** 4.根据id修改角色信息
	 *  4.1.先根据id查询当前角色的信息
	 *  4.2.再根据id修改当前角色的信息 */
	@RequestMapping("/sysRoleUpdate")
	public String sysRoleUpdate(SysRole sysRole){
		//System.out.println(sysRole);
		//1.调用sysRoleService的updateById方法修改角色信息
		sysRoleService.updateById(sysRole);
		//2.转向查询所有角色的方法
		return "redirect:/sysRoleList";
	}
}
